
Security News
Next.js Patches Critical Middleware Vulnerability (CVE-2025-29927)
Next.js has patched a critical vulnerability (CVE-2025-29927) that allowed attackers to bypass middleware-based authorization checks in self-hosted apps.
@appium/base-driver
Advanced tools
@appium/base-driver is a foundational package for creating Appium drivers. It provides a base class and a set of utilities that can be extended to create custom drivers for different platforms and automation needs.
BaseDriver Class
The BaseDriver class provides the core functionality for creating and managing sessions. By extending this class, you can implement custom logic for session creation and deletion.
const { BaseDriver } = require('@appium/base-driver');
class CustomDriver extends BaseDriver {
async createSession(capabilities) {
// Custom session creation logic
return super.createSession(capabilities);
}
async deleteSession() {
// Custom session deletion logic
return super.deleteSession();
}
}
module.exports = CustomDriver;
Command Handling
Command handling allows you to define custom endpoints and their corresponding logic. This is useful for implementing specific commands that your driver needs to support.
const { BaseDriver } = require('@appium/base-driver');
class CustomDriver extends BaseDriver {
constructor(opts) {
super(opts);
this.handlers = {
'/session/:sessionId/element': this.findElement.bind(this),
// Add more command handlers here
};
}
async findElement(sessionId, params) {
// Custom element finding logic
return { ELEMENT: 'element-id' };
}
}
module.exports = CustomDriver;
Proxying Commands
Proxying commands allows your driver to forward requests to another server. This is useful for scenarios where your driver needs to interact with an existing WebDriver server.
const { BaseDriver } = require('@appium/base-driver');
class CustomDriver extends BaseDriver {
constructor(opts) {
super(opts);
this.proxyReqRes = true; // Enable proxying
}
async proxyCommand(url, method, body) {
// Custom proxy logic
return await this.jwproxy.command(url, method, body);
}
}
module.exports = CustomDriver;
WebdriverIO is a popular automation framework that provides a high-level API for interacting with WebDriver servers. Unlike @appium/base-driver, which is focused on creating custom drivers, WebdriverIO is designed for writing and running tests.
Selenium WebDriver is a widely-used library for browser automation. It provides a set of bindings for various programming languages to interact with WebDriver servers. While @appium/base-driver is focused on creating custom drivers, Selenium WebDriver is aimed at end-users writing automation scripts.
The 'wd' package is a Node.js client for WebDriver/Selenium. It provides a promise-based API for interacting with WebDriver servers. Unlike @appium/base-driver, which is for creating drivers, 'wd' is for writing automation scripts.
Base class for creating other Appium drivers
This is the parent class that all Appium drivers inherit from. This driver should not be installed directly as it does nothing on its own. Instead, you should extend this driver when creating your own Appium drivers. Check out the Building Drivers documentation for more details.
Apache-2.0
FAQs
Base driver class for Appium drivers
The npm package @appium/base-driver receives a total of 385,326 weekly downloads. As such, @appium/base-driver popularity was classified as popular.
We found that @appium/base-driver demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Next.js has patched a critical vulnerability (CVE-2025-29927) that allowed attackers to bypass middleware-based authorization checks in self-hosted apps.
Security News
A survey of 500 cybersecurity pros reveals high pay isn't enough—lack of growth and flexibility is driving attrition and risking organizational security.
Product
Socket, the leader in open source security, is now available on Google Cloud Marketplace for simplified procurement and enhanced protection against supply chain attacks.